import { getPage, getImage } from '../../utils/config';
import { http, promisify, $empty, $toast, Validate } from '../../utils/utils';
import api from '../../utils/api';
import wxApi from '../../utils/wxApi';
const app = getApp();

Page({

    /**
     * 页面的初始数据
     */
    data: {
        show: false,
        columns: [],
        expressName: '',
        expressNumber: '',
    },

    toggle(type) {
        this.setData({
            [type]: !this.data[type]
        });
    },

    /**
     * 快递名称--选择器
     */
    selectClick() {
        this.toggle('show');
    },

    /**
     * 选择快递
     */
    selectChange(e) {
        const { value } = e.detail;
        
        this.setData({
            expressNameError: '',
            expressName: value,
        });

        this.toggle('show');
    },

    /**
     * 快递单号
     */
    expressNumberInput(e) {
        this.setData({
            expressNumberError: '',
            expressNumber: $empty(e.detail),
        });
    },

    /**
     * 扫一扫
     */
    scanClick() {

        promisify(wx.scanCode)({
            scanType: ['barCode']
        }).then((res) => {
            this.setData({
                expressNumberError: '',
                expressNumber: res.result
            })
        }).catch((res) => {
            $toast(`${res.errMsg}`);
        }); 
    },

    /**
     * 提交表单--网络请求
     */
    expressForm(e) {
        Validate.check(this, this.expressValidate, e.detail.value, (res) => {
            if (res) {
                const { afId, userId, expressName, expressNumber } = this.data;

                http.post(api.default, {
                    data: {
                        action: 'jijian_customer',
                        userid: userId,
                        aid: afId,
                        KuaidiCompany: expressName,
                        KuaidiNo: expressNumber,
                    }
                }).then((res) => {
                    const pages = getCurrentPages()[getCurrentPages().length - 2];
                    if (pages !== undefined || pages !== null) {
                        pages.aftersaleUpdate();
                    }

                    wxApi.navigateBack(1);
                });
            }
        });
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        
        //获取携带参数
        if(JSON.stringify(options) != '{}'){

            app.getLogin().then((res) => {
                const { user } = res.data;
                this.setData({
                    afId: options.id,
                    userId: user.user_id,
                });
            });
        }

        //获取快递公司
        http.get(api.default, {
            data: {
                action: 'getexpress'
            }
        }, false).then((res) => {
            const { data } = res.data;
            const { columns } = this.data;

            data.forEach((item) => {
                columns.push(item.ExpressName);
            });

            this.setData({ columns });
        });
        
        //获取验证规则
        Validate.rules('#expressName,#expressNumber', (res) => {
            this.expressValidate = res;
        });
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {
        
    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    }
})